#include "BulletDynamics/Dynamics/btSimulationIslandManagerMt.h"
#ifdef __cplusplus
extern "C" {
#endif
btSimulationIslandManagerMt::SolverParams* bullet_NewbtSimulationIslandManagerMtSolverParams(){
	btSimulationIslandManagerMt::SolverParams* wrap_out = new btSimulationIslandManagerMt::SolverParams();
	return wrap_out;
}

btContactSolverInfo** bullet_btSimulationIslandManagerMtSolverParams_GetFieldOfM_solverInfo(btSimulationIslandManagerMt::SolverParams* c_this){
	return (btContactSolverInfo**)(&c_this->m_solverInfo);
}

btSimulationIslandManagerMt::Island* bullet_NewbtSimulationIslandManagerMtIsland(){
	btSimulationIslandManagerMt::Island* wrap_out = new btSimulationIslandManagerMt::Island();
	return wrap_out;
}

void bullet_btSimulationIslandManagerMtIsland_append(btSimulationIslandManagerMt::Island* c_this,btSimulationIslandManagerMt::Island* other){
	btSimulationIslandManagerMt::Island const& c_arg_other=(btSimulationIslandManagerMt::Island const&)(*other);
	c_this->append(c_arg_other);
}

int bullet_btSimulationIslandManagerMtIsland_GetFieldOfId(btSimulationIslandManagerMt::Island* c_this){
	return (int)(c_this->id);
}

bool bullet_btSimulationIslandManagerMtIsland_GetFieldOfIsSleeping(btSimulationIslandManagerMt::Island* c_this){
	return (bool)(c_this->isSleeping);
}

btSimulationIslandManagerMt* bullet_NewbtSimulationIslandManagerMt(){
	btSimulationIslandManagerMt* wrap_out = new btSimulationIslandManagerMt();
	return wrap_out;
}

int bullet_btSimulationIslandManagerMt_getMinimumSolverBatchSize(btSimulationIslandManagerMt* c_this){
	int c_out = c_this->getMinimumSolverBatchSize();
	int wrap_out = (c_out);
	return wrap_out;
}

void bullet_btSimulationIslandManagerMt_setMinimumSolverBatchSize(btSimulationIslandManagerMt* c_this,int sz){
	int c_arg_sz=sz;
	c_this->setMinimumSolverBatchSize(c_arg_sz);
}

void bullet_btSimulationIslandManagerMt_solveIsland(btSimulationIslandManagerMt* c_this,btConstraintSolver* solver,btSimulationIslandManagerMt::Island* island,btSimulationIslandManagerMt::SolverParams* solverParams){
	btConstraintSolver * c_arg_solver=(btConstraintSolver *)(void*)(solver);
	btSimulationIslandManagerMt::Island& c_arg_island=(btSimulationIslandManagerMt::Island&)(*island);
	btSimulationIslandManagerMt::SolverParams const& c_arg_solverParams=(btSimulationIslandManagerMt::SolverParams const&)(*solverParams);
	c_this->solveIsland(c_arg_solver,c_arg_island,c_arg_solverParams);
}

#ifdef __cplusplus
}
#endif
